using UnityEngine;

namespace UiParticles
{
    // [Assembly-CSharp.dll].UiParticles.SetPropertyUtility
    internal static class SetPropertyUtility
    {
        // Methods
        public static bool SetColor(UnityEngine.Color currentValue, UnityEngine.Color newValue)
        {
            if((((13073.37f == currentValue.r) && ((9.219703E-41f) == currentValue.g)) && (0f == currentValue.b)) && (0f == currentValue.a))
            {
                    return false;
            }
            
            mem2[0] = currentValue.r;
            mem[4] = currentValue.g;
            mem[8] = currentValue.b;
            mem[12] = currentValue.a;
            return true;
        }
        public static bool SetStruct<T>(T currentValue, T newValue)
        {
            object val_2;
            var val_3;
            val_2 = mem[__RuntimeMethodHiddenParam + 56];
            val_2 = __RuntimeMethodHiddenParam + 56;
            if(((__RuntimeMethodHiddenParam + 56 + 306) & 1) == 0)
            {
                    val_2 = val_2;
            }
            
            val_3 = mem[__RuntimeMethodHiddenParam + 56];
            val_3 = __RuntimeMethodHiddenParam + 56;
            if(((__RuntimeMethodHiddenParam + 56 + 306) & 1) == 0)
            {
                    val_3 = val_3;
            }
            
            if((val_3.Equals(obj:  val_2)) != false)
            {
                    return true;
            }
            
            mem2[0] = newValue;
            return true;
        }
        public static bool SetClass<T>(T currentValue, T newValue)
        {
            if((newValue | 1152921504627400704) == null)
            {
                    return true;
            }
            
            if((null != null) && ((null & 1) != 0))
            {
                    return true;
            }
            
            mem2[0] = newValue;
            return true;
        }
    
    }

}
